RegExp-এ Complex Text Patterns Matching এর মাধ্যমে আপনি নির্দিষ্ট কাঠামো অনুসরণ করা টেক্সটের ধরন যেমন Hashtags (#), Mentions (@) বা অন্যান্য কাস্টম প্যাটার্নগুলো খুঁজে বের করতে পারেন। এই ধরনের প্যাটার্ন সাধারণত সোশ্যাল মিডিয়া বা ব্লগ প্ল্যাটফর্মে ব্যবহৃত হয়, যেখানে নির্দিষ্ট চিহ্নের পর একটি শব্দ বা নাম আসে। RegExp-এর মাধ্যমে আপনি সহজেই এই ধরনের প্যাটার্নগুলো শনাক্ত এবং প্রক্রিয়া করতে পারেন।
Hashtags (#)
Hashtags সাধারণত # চিহ্ন দিয়ে শুরু হয় এবং তারপর একটি বা একাধিক অক্ষর, সংখ্যা, অথবা আন্ডারস্কোর থাকে। RegExp দিয়ে আপনি এই ধরনের প্যাটার্ন খুঁজে বের করতে পারেন।
Hashtag Matching RegExp উদাহরণ
let regex = /#\w+/g;
let str = "I love #JavaScript and #React!";
let matches = str.match(regex);
console.log(matches); // ["#JavaScript", "#React"]
এখানে, / #\w+/g প্যাটার্নটি:
#: একটি হ্যাশট্যাগ চিহ্নের জন্য।\w+: এক বা একাধিক word character (অক্ষর, সংখ্যা, বা আন্ডারস্কোর)।g: গ্লোবাল ফ্ল্যাগ, যা পুরো স্ট্রিং স্ক্যান করতে সাহায্য করে।
এটি #JavaScript এবং #React হ্যাশট্যাগগুলো মেলে দিয়েছে।
Mentions (@)
Mentions সাধারণত @ চিহ্ন দিয়ে শুরু হয় এবং তারপর ব্যবহারকারীর নাম বা আইডি থাকে। RegExp ব্যবহার করে আপনি @ চিহ্নের পরে থাকা নাম বা আইডি শনাক্ত করতে পারেন।
Mention Matching RegExp উদাহরণ
let regex = /@\w+/g;
let str = "Hello @john, meet @doe!";
let matches = str.match(regex);
console.log(matches); // ["@john", "@doe"]
এখানে, / @\w+/g প্যাটার্নটি:
@: একটি মেনশন চিহ্নের জন্য।\w+: এক বা একাধিক word character (অক্ষর, সংখ্যা, বা আন্ডারস্কোর)।g: গ্লোবাল ফ্ল্যাগ, যা পুরো স্ট্রিং স্ক্যান করতে সাহায্য করে।
এটি @john এবং @doe মেনশনগুলো খুঁজে পেয়ে মেলিয়েছে।
Complex Patterns: Hashtags and Mentions একসাথে
আপনি যদি একই স্ট্রিংয়ের মধ্যে hashtags এবং mentions একসাথে খুঁজতে চান, তবে একাধিক প্যাটার্নের সমন্বয়ে একটি RegExp তৈরি করতে পারেন।
উদাহরণ: Hashtags এবং Mentions একসাথে
let regex = /(?:#\w+|@\w+)/g;
let str = "Hello @john, check out #JavaScript and #React!";
let matches = str.match(regex);
console.log(matches); // ["@john", "#JavaScript", "#React"]
এখানে, (?:#\w+|@\w+) প্যাটার্নটি:
(?: ...): Non-capturing group, যা গ্রুপিং ছাড়া প্যাটার্নগুলো মিলাবে।#\w+: একটি হ্যাশট্যাগ খুঁজবে, যার পর word character থাকবে।@\w+: একটি মেনশন খুঁজবে, যার পর word character থাকবে।|: OR অপারেটর, যা দুটি শর্তের মধ্যে মিল খুঁজতে সাহায্য করে।
এটি @john, #JavaScript, এবং #React মেলাচ্ছে।
More Complex Pattern Examples
আপনি আরও জটিল প্যাটার্ন তৈরি করতে পারেন, যেমন:
- Hashtags যেগুলিতে শুধুমাত্র অক্ষর এবং সংখ্যার পাশাপাশি হাইফেন (-) থাকতে পারে।
- Mentions যেগুলিতে অক্ষরের পাশাপাশি ডট (.) বা হাইফেন (-) থাকতে পারে।
উদাহরণ: Complex Hashtags
let regex = /#\w+(-\w+)*\b/g;
let str = "Check out #javaScript-101 and #React-Versions!";
let matches = str.match(regex);
console.log(matches); // ["#javaScript-101", "#React-Versions"]
এখানে, #\w+(-\w+)*\b প্যাটার্নটি:
#: হ্যাশট্যাগ চিহ্ন।\w+: শব্দ চরিত্র।(-\w+)*: এক বা একাধিক হাইফেন (-) এবং তারপর একটি শব্দ চরিত্র।\b: শব্দের সীমানা।
এটি #javaScript-101 এবং #React-Versions মেলাবে।
উদাহরণ: Complex Mentions
let regex = /@\w+(-\w+)*\b/g;
let str = "Hello @john_doe and @jane-doe!";
let matches = str.match(regex);
console.log(matches); // ["@john_doe", "@jane-doe"]
এখানে, @\w+(-\w+)*\b প্যাটার্নটি:
@: মেনশন চিহ্ন।\w+: শব্দ চরিত্র।(-\w+)*: এক বা একাধিক হাইফেন (-) এবং তারপর একটি শব্দ চরিত্র।\b: শব্দের সীমানা।
এটি @john_doe এবং @jane-doe মেলাবে।
সারাংশ
Hashtags এবং Mentions এর মতো Complex Text Patterns খুঁজে বের করতে RegExp অত্যন্ত কার্যকর। আপনি বিভিন্ন প্যাটার্নের সাথে যেমন #\w+ এবং @\w+ ব্যবহার করে সোশ্যাল মিডিয়া টেক্সট বা অন্যান্য স্ট্রিংয়ের মধ্যে নির্দিষ্ট চিহ্নের পর থাকা নাম বা ট্যাগ শনাক্ত করতে পারেন। এছাড়া, OR অপারেটর এবং non-capturing group ব্যবহার করে আপনি একাধিক প্যাটার্ন একসাথে মিলিয়ে আরও জটিল পরিস্থিতি মেলাতে পারবেন।
Read more